package com.jahepi.android.actividad.viaje;

import java.util.ArrayList;

import android.content.Context;
import android.content.Intent;
import android.os.Bundle;
import android.util.Log;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.AdapterView;
import android.widget.Button;
import android.widget.ListView;
import android.widget.TextView;
import android.widget.AdapterView.OnItemClickListener;

import com.jahepi.android.AdaptadorGenerico;
import com.jahepi.android.R;
import com.jahepi.android.actividad.ActividadAuth;
import com.jahepi.android.dto.Material;

public class MaterialListaActividad extends ActividadAuth implements OnItemClickListener {
	
	protected static String TAG = "MaterialListaActividad";
	
	protected ListView materialListView;
	protected MaterialAdapter adapter;
	
	@Override
	protected void onCreate(Bundle savedInstanceState) {
		super.onCreate(savedInstanceState);
		setContentView(R.layout.lista);
		
		TextView listaTextView = (TextView) findViewById(R.id.listaTextView);
		listaTextView.setText("Listado de Materiales");
		
		Button materialListaButton = (Button) findViewById(R.id.listaButton);
		materialListaButton.setOnClickListener(new OnClickListener() {
			public void onClick(View v) {
				startActivity(new Intent(MaterialListaActividad.this, BancoListaActividad.class));
			}		
		});
		
		ArrayList<Material> materiales = app.obtenerMateriales();
		
		if(materiales.isEmpty()) {
			toast(this, "No se pudieron encontrar materiales activos!");
		}
		
		adapter = new MaterialAdapter(this, R.layout.fila);
		adapter.addCollection(materiales);
		
		materialListView = (ListView) findViewById(R.id.listaListView);
		materialListView.setOnItemClickListener(this);
		
		materialListView.setAdapter(adapter);
	}
	
	public void onItemClick(AdapterView<?> arg0, View arg1, int position, long arg3) {
		Log.d(TAG, "Click en un material!");
		Material material = (Material) adapter.getItem(position);
		app.setViajeMaterial(material);
		if(material.esCantidadFija()) {
			startActivity(new Intent(this, ViajePendienteActividad.class));
		} else {
			startActivity(new Intent(this, ViajeMaterialCantidadActividad.class));
		}
	}
	
	protected class MaterialAdapter extends AdaptadorGenerico {
		
		public MaterialAdapter(Context context, int textViewResourceId) {
			super(context, textViewResourceId);
		}

		@Override
		protected void populate(View view, int position) {
			Material material = (Material) getItem(position);
			TextView filaTextView = (TextView) view.findViewById(R.id.filaTextView);
			filaTextView.setText("ID: " + material.getId() + " - " + material.getNombre());
		}		
	}
}
